package common.dto;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * Created By  醉美柳舞之众星捧月
 *
 * @author song
 * @date 2024/6/19 14:13
 */
@Data
public class CloudProcessTaskInfoRespVO implements Serializable {

    /**
     * 当前节点审批用户信息（开始结束节点时为空）
     */
    private CloudProcessAssigneeUserDTO assigneeUser;
    /**
     * 审批通过的用户信息（开始结束节点时为空）
     */
    private CloudProcessAssigneeUserDTO approveUsers;
    /**
     * 审批不通过的用户信息（开始结束节点时为空）
     */
    private CloudProcessAssigneeUserDTO rejectUsers;
    /**
     * 审批进行中的用户信息（开始结束节点时为空）
     */
    private CloudProcessAssigneeUserDTO processUsers;
    /**
     * 流程节点任务分配规则
     */
    private CloudProcessBpmTaskAssignRuleBaseDTO bpmTaskAssignRuleBaseRespVOS;

    /**
     * 接收时间
     */
    private Date claimTime;

    /**
     * 审批建议
     */
    private String comment;

    /**
     * 任务产生时间
     */
    private Date createTime;

    /**
     * 任务定义的标识
     */
    private String definitionKey;

    /**
     * 持续时间
     */
    private Long durationInMillis;

    /**
     * 任务结束时间
     */
    private Date endTime;

    /**
     * 任务表单id
     */
    private String formId;

    /**
     * 表单变量实例，如果表单里有组件则会有值
     */
    private Object formVariables;

    /**
     * 任务编号
     */
    private String id;

    /**
     * 任务节点名字
     */
    private String name;

    /**
     * 流程实例
     */
    private CloudProcessInstanceDTO processInstance;

    /**
     * 停留时间
     */
    private String residenceTime;

    /**
     * 任务状态：1处理中、2通过、3不通过、4已取消、5已退回
     */
    private Integer result;

    /**
     * 激活状态
     */
    private Integer suspensionState;

    /**
     * 任务节点的权限信息
     */
    private String userTaskPermission;

    /**
     * 任务类型：开始节点startEvent、用户任务userTask、传阅任务receiveTask、结束节点endEvent
     */
    private String taskNodeType;
}
